// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import BaseClass from '@api/user/model/SysRegionDto'
import API from './API'

const TYPE = [
  ['base', '普通二维码'],
  ['detail', '横版'],
]

const LAYOUT = [
  [1, '不剪裁，单页打印'],
  [3, '每个150mm*75mm'],
  [6, '每个120mm*60mm'],
  [12, '每个90mm*45mm'],
  [24, '每个60mm*30mm'],
  [44, '每个44mm*22.5mm'],
]

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    WORD: `${CORE.MAP.REGION}码`, // 词语

    PREVIEW_URL: 'print/common', // 打印地址

    step: 1, // 步骤
    type: TYPE[0][0], // 类型
    layout: LAYOUT[0][0], // 布局
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 类型
     */
    TYPE,

    /**
     * 布局
     */
    LAYOUT,

    /**
     * 详情
     */
    DETAIL: [
      [`${CORE.MAP.REGION}名称`, 'name'],
      [`${CORE.MAP.REGION}号码`, 'areaNumber'],
      [`${CORE.MAP.REGION}类型`, 'typeName'],
    ],
  },

  /**
   * 初始参数
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setParam() 重置时使用
   * 4. WebSearch 高级查询点重置时使用
   */
  INIT_PARAM: CORE.initObj(BaseClass, {
    //
  }),

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. setOne() 合并时使用
   * 3. openAdd() 新增时使用
   */
  INIT_ONE: CORE.initObj(BaseClass, {
    //
  }),
}
